package com.gnerv.battle.boot.module.base.service;

import com.gnerv.battle.boot.module.base.model.bo.OrgBO;
import com.gnerv.battle.boot.module.base.model.dto.OrgDTO;
import com.gnerv.battle.boot.module.base.model.dto.OrgTreeDTO;

import java.util.List;

/**
 * @author Gnerv LiGen
 */
public interface OrgService {

    boolean create(OrgBO orgBO);

    boolean deleteByUkId(String ukId);

    boolean updateByUkId(OrgBO orgBO);

    OrgDTO selectByUkId(String ukId);

    List<OrgDTO> listByName(String name);

    List<OrgTreeDTO> listTreeByParentUkId(String parentUkId);

    List<OrgDTO> listByParentUkId(String parentUkId);

    boolean bindAccount(String orgUkId, List<String> accountUkIdList);

    boolean unbindAccount(String orgUkId);

    String selectUkIdByAccountUkId(String accountUkId);

}
